using System;
using UnityEngine;
using Sirenix.OdinInspector;
using Sirenix.OdinInspector.Editor;
using Sirenix.Utilities.Editor;
[CreateAssetMenu(menuName = "Rendering/Custom Post FX Settings")]
public class PostFXSettings : ScriptableObject
{
    [System.Serializable,Toggle("Enable")]
    public struct BloomSettings
    {
        public bool Enable;
        // 亮度阙值
        [Range(-1.0f, 1.0f)]
        public float luminanceThreshold;
        [Range(0f, 16f)]
        public int maxIterations;
        [Range(0.2f,10f)][Header("模糊半径")]
        public float BlurRadius;
        [Range(1f,10)]
        public int downscaleLimit;
        [Range(0f,10)]
        public float Intensity;
    }
    //
    [System.Serializable,Toggle("Enable")]
    public struct BlurSetting
    {
        public bool Enable;
        [Range(0.2f,10f)][Header("模糊半径")]
        public float BlurRadius;
        //降采样次数
        [Header("降采样次数")]
        [Range (1, 8)]
        public int downSample ;
        //迭代次数  
        [Header("迭代次数")]
        [Range (1, 4)]
        public int iteration;
    }
    [System.Serializable]
    public struct TAASetting
    {
        public bool Enable;
        [Range(0.01f, 0.2f)]
        public float BlendAlpha;
    }
    [SerializeField]
    public BloomSettings Bloom=default;
    [SerializeField]
    public BlurSetting Blur=default;
    [SerializeField]
    public TAASetting TAA=default;
}
